<html>
	<head>
		<title>bytecode</title>
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
		<meta name="viewport" content="width=device-width initial-scale=1">
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<meta http-equiv="Content-Language" content="en-gb">

<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
		
	</head>
	<body class="commentary-font">
		<nav role="navigation">
		<h1><a href="../index.html"><img src="../docs-assets/Inform.png" height=72> </a></h1>
<ul><li><a href="../index.html">home</a></li>
</ul><h2>Compiler</h2><ul>
<li><a href="../structure.html">structure</a></li>
<li><a href="../inbuildn.html">inbuild</a></li>
<li><a href="../inform7n.html">inform7</a></li>
<li><a href="../intern.html">inter</a></li>
<li><a href="../services.html">services</a></li>
<li><a href="../secrets.html">secrets</a></li>
</ul><h2>Other Tools</h2><ul>
<li><a href="../inblorbn.html">inblorb</a></li>
<li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li>
</ul><h2>Resources</h2><ul>
<li><a href="../extensions.html">extensions</a></li>
<li><a href="../kits.html">kits</a></li>
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=0> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=0> inweb</a></li>
<li><a href="https://github.com/ganelson/intest"><img src="../docs-assets/github.png" height=0> intest</a></li>
</ul>
		</nav>
		<main role="main">
		<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../intern.html">Inter Modules</a></li><li><b>bytecode</b></li></ul>
		<p class="purpose">Dealing with intermediate-level Inform as bytecode in memory. This is version 1.</p>
		<hr>
		<div class="contentspage">
			<ul class="chapterlist">
				<li>
					<p class="chapterentry"><a name="P"></a>
						<span class="chaptertitle">Preliminaries</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="P-wtmd.html">
								<spon class="sectiontitle">What This Module Does</span></a> -
							<span class="sectionpurpose">An overview of the bytecode module's role and abilities.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="1"></a>
						<span class="chaptertitle">Chapter 1: Setting Up</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="1-bm.html">
								<spon class="sectiontitle">Bytecode Module</span></a> -
							<span class="sectionpurpose">Setting up the use of this module.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="1-tiv.html">
								<spon class="sectiontitle">The Inter Version</span></a> -
							<span class="sectionpurpose">The semantic version number for the current definition of Inter bytecode.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="2"></a>
						<span class="chaptertitle">Chapter 2: The Trees</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="2-it.html">
								<spon class="sectiontitle">Inter Trees</span></a> -
							<span class="sectionpurpose">To manage tree structures of inter code, and manage the movement of nodes within these trees.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-in.html">
								<spon class="sectiontitle">Inter Nodes</span></a> -
							<span class="sectionpurpose">To create nodes of inter code, and manage everything about them except their tree locations.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-bkm.html">
								<spon class="sectiontitle">Bookmarks</span></a> -
							<span class="sectionpurpose">Write positions for inter code being generated.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-np.html">
								<spon class="sectiontitle">Node Placement</span></a> -
							<span class="sectionpurpose">Moving nodes in a tree, adding them to a tree, removing them from a tree.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-tw.html">
								<spon class="sectiontitle">The Warehouse</span></a> -
							<span class="sectionpurpose">To manage the memory storage of inter code.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-pck.html">
								<spon class="sectiontitle">Packages</span></a> -
							<span class="sectionpurpose">To manage packages of inter code.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-inl.html">
								<spon class="sectiontitle">Inter Node Lists</span></a> -
							<span class="sectionpurpose">Utility functions to store lists of nodes, either as linked lists or flexibly-sized arrays.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-st.html">
								<spon class="sectiontitle">Symbols Tables</span></a> -
							<span class="sectionpurpose">To manage searchable tables of named symbols.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-sym.html">
								<spon class="sectiontitle">Symbols</span></a> -
							<span class="sectionpurpose">To manage named symbols in inter code.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-ann.html">
								<spon class="sectiontitle">Annotations</span></a> -
							<span class="sectionpurpose">To mark symbols up with metadata.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-tw2.html">
								<spon class="sectiontitle">The Wiring</span></a> -
							<span class="sectionpurpose">Wiring symbols in one package to meanings in another, and via plugs and sockets even to packages in trees not yet loaded in.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-trn.html">
								<spon class="sectiontitle">Transmigration</span></a> -
							<span class="sectionpurpose">The act of moving a package from one Inter tree to another.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="3"></a>
						<span class="chaptertitle">Chapter 3: Their Instructions</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="3-ic.html">
								<spon class="sectiontitle">Inter Constructs</span></a> -
							<span class="sectionpurpose">There are around two dozen constructs in textual Inter source code, with each instruction in bytecode being a usage of one of them.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-iibf.html">
								<spon class="sectiontitle">Inter in Binary Files</span></a> -
							<span class="sectionpurpose">To read or write inter between memory and binary files.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-iitf.html">
								<spon class="sectiontitle">Inter in Text Files</span></a> -
							<span class="sectionpurpose">To read a tree from a file written in the plain text version of Inter.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-vi.html">
								<spon class="sectiontitle">Verifying Inter</span></a> -
							<span class="sectionpurpose">Verifying that a new Inter instruction is correct and consistent.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-ivp.html">
								<spon class="sectiontitle">Inter Value Pairs</span></a> -
							<span class="sectionpurpose">Two consecutive bytecode words are used to store a single value in binary Inter.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-idt.html">
								<spon class="sectiontitle">Inter Data Types</span></a> -
							<span class="sectionpurpose">A primitive notion of data type, below the level of kinds.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-mtd.html">
								<spon class="sectiontitle">Metadata</span></a> -
							<span class="sectionpurpose">Looking up metadata in special constants.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-ie.html">
								<spon class="sectiontitle">Inter Errors</span></a> -
							<span class="sectionpurpose">To issue error messages arising from loading incorrect Inter code from files.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-tp.html">
								<spon class="sectiontitle">Text Provenance</span></a> -
							<span class="sectionpurpose">Recording where fragments of text originally came from.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="4"></a>
						<span class="chaptertitle">Chapter 4: Void Constructs</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="4-tcc.html">
								<spon class="sectiontitle">The Comment Construct</span></a> -
							<span class="sectionpurpose">Defining the comment construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tcc2.html">
								<spon class="sectiontitle">The Constant Construct</span></a> -
							<span class="sectionpurpose">Defining the constant construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tic.html">
								<spon class="sectiontitle">The Insert Construct</span></a> -
							<span class="sectionpurpose">Defining the insert construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tic2.html">
								<spon class="sectiontitle">The Instance Construct</span></a> -
							<span class="sectionpurpose">Defining the instance construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tnc.html">
								<spon class="sectiontitle">The Nop Construct</span></a> -
							<span class="sectionpurpose">Defining the nop construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-toc.html">
								<spon class="sectiontitle">The Origin Construct</span></a> -
							<span class="sectionpurpose">Defining the origin construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tpc.html">
								<spon class="sectiontitle">The Package Construct</span></a> -
							<span class="sectionpurpose">Defining the package construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tpc2.html">
								<spon class="sectiontitle">The PackageType Construct</span></a> -
							<span class="sectionpurpose">Defining the packagetype construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tpc3.html">
								<spon class="sectiontitle">The Permission Construct</span></a> -
							<span class="sectionpurpose">Defining the permission construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tpc4.html">
								<spon class="sectiontitle">The Pragma Construct</span></a> -
							<span class="sectionpurpose">Defining the pragma construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tpc5.html">
								<spon class="sectiontitle">The Primitive Construct</span></a> -
							<span class="sectionpurpose">Defining the primitive construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tpc6.html">
								<spon class="sectiontitle">The Property Construct</span></a> -
							<span class="sectionpurpose">Defining the property construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tpc7.html">
								<spon class="sectiontitle">The PropertyValue Construct</span></a> -
							<span class="sectionpurpose">Defining the propertyvalue construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tpc8.html">
								<spon class="sectiontitle">The Provenance Construct</span></a> -
							<span class="sectionpurpose">Defining the Provenance construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-ttc.html">
								<spon class="sectiontitle">The Typename Construct</span></a> -
							<span class="sectionpurpose">Defining the typename construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-tvc.html">
								<spon class="sectiontitle">The Variable Construct</span></a> -
							<span class="sectionpurpose">Defining the variable construct.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="5"></a>
						<span class="chaptertitle">Chapter 5: Code Constructs</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="5-tac.html">
								<spon class="sectiontitle">The Assembly Construct</span></a> -
							<span class="sectionpurpose">Defining the assembly construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-tcc.html">
								<spon class="sectiontitle">The Cast Construct</span></a> -
							<span class="sectionpurpose">Defining the cast construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-tcc2.html">
								<spon class="sectiontitle">The Code Construct</span></a> -
							<span class="sectionpurpose">Defining the Code construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-tec.html">
								<spon class="sectiontitle">The Evaluation Construct</span></a> -
							<span class="sectionpurpose">Defining the Evaluation construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-tic.html">
								<spon class="sectiontitle">The Inv Construct</span></a> -
							<span class="sectionpurpose">Defining the inv construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-tlc.html">
								<spon class="sectiontitle">The Lab Construct</span></a> -
							<span class="sectionpurpose">Defining the Lab construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-tlc2.html">
								<spon class="sectiontitle">The Label Construct</span></a> -
							<span class="sectionpurpose">Defining the label construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-tlc3.html">
								<spon class="sectiontitle">The Local Construct</span></a> -
							<span class="sectionpurpose">Defining the local construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-trc.html">
								<spon class="sectiontitle">The Ref Construct</span></a> -
							<span class="sectionpurpose">Defining the ref construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-trc2.html">
								<spon class="sectiontitle">The Reference Construct</span></a> -
							<span class="sectionpurpose">Defining the Reference construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-tsc.html">
								<spon class="sectiontitle">The Splat Construct</span></a> -
							<span class="sectionpurpose">Defining the splat construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="5-tvc.html">
								<spon class="sectiontitle">The Val Construct</span></a> -
							<span class="sectionpurpose">Defining the val construct.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="6"></a>
						<span class="chaptertitle">Chapter 6: Pseudo-Constructs</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="6-tpc.html">
								<spon class="sectiontitle">The Plug Construct</span></a> -
							<span class="sectionpurpose">Defining the symbol construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="6-tsc.html">
								<spon class="sectiontitle">The Socket Construct</span></a> -
							<span class="sectionpurpose">Defining the socket construct.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="6-tvc.html">
								<spon class="sectiontitle">The Version Construct</span></a> -
							<span class="sectionpurpose">Defining the version construct.</span></p>
						</li>
					</ul>
				</li>
			</ul>
		</div>
		<hr>
		<p class="purpose">Powered by <a href="https://github.com/ganelson/inweb">Inweb</a>.</p>
		</main>
	</body>
</html>

